<?php

function loescheVorlageRechnung ($vorlagerechnung) {
    $query = mysql_query('DELETE from Rechnung where ID=' . $vorlagerechnung);

    if ($query) {
        echo "<div class='info'>Rechnungsvorlage erfolgreich gel&ouml;scht!</div>";
        postVorlageListe ();
        // TODO: Fehlerbehandlung
    } else {
        echo "<div class='error'>Rechnungsvorlage konnte nicht gel&ouml;scht werden!</div>";
    }
}

function neuVorlageRechnung () {
    $erfolgreich = true;

    $string = 'INSERT into Rechnung values (null, "' . date("Y-m-d",time()) . '", "' . $_POST['informationen'] . '", ';

    if ($_POST['rabatt'] != "") {
        $string = $string . $_POST['rabatt'];
    } else {
        $string = $string . '0';
    }
    $string = $string . ', null, null, null)';

    $query = mysql_query($string);
    if (!$query) $erfolgreich = false;
    
    $vorlagerechnungid = mysql_insert_id(); 

    $query = mysql_query('insert into RechnungVorlage values ( ' . $vorlagerechnungid . ' )');

    for ($i=0; $i < count($_POST['artikelid']); $i++) {
        $query = mysql_query('SELECT Name from Artikel where ID=' . $_POST['artikelid'][$i]);
        $artikel = mysql_fetch_array($query);

        $string = 'INSERT into RechnungArtikel values (' . $vorlagerechnungid . ', ' . $_POST['artikelid'][$i] . ', "' . $artikel['Name'] . '", ' . $_POST['artikelpreis'][$i] . ', ' . $_POST['artikelmenge'][$i] . ')';
        
        $query = mysql_query($string);
        if (!$query) $erfolgreich = false;
    }

    if ($erfolgreich) {
        echo "<div class='info'>Rechnungsvorlage erfolgreich angelegt!</div>";
        postVorlageListe ();
        // TODO: Fehlerbehandlung
    } else {
        echo "<div class='error'>Rechnungsvorlage konnte nicht angelegt werden!</div>";
    }
}

function aendernVorlageRechnung () {
    $erfolgreich = true;
    
    $string = 'UPDATE Rechnung set Datum="' . date("Y-m-d",time()) . '", Informationen="' . $_POST['informationen'] . '", Rabatt=';
    if ($_POST['rabatt']) {
        $string = $string . $_POST['rabatt'];
    } else {
        $string = $string . '0';
    }

    $string = $string . ', KundeID=null, MitarbeiterID=null, Lieferung=null where ID=' . $_POST['id'];

    $query = mysql_query($string);
    if (!$query) $erfolgreich = false;
    
    for ($i=0; $i < count($_POST['artikelid']); $i++) {
        $query = mysql_query('SELECT Name from Artikel where ID=' . $_POST['artikelid'][$i]);
        $artikelNEU[$i] = mysql_fetch_array($query);
    }

    $query = mysql_query('SELECT * from RechnungArtikel where RechnungID=' . $_POST['id']);
    for ($i=0; $i < mysql_num_rows ($query); $i++) { 
        $artikelDB[$i] = mysql_fetch_array($query);
    }

    foreach ($artikelDB as $artikel) {
        $gefunden = false;
        foreach ($artikelNEU as $artikelN) {
            if ($artikel['ArtikelID'] == $artikelN['ID']) {
                $gefunden = true;
            }
        }
        if (!$gefunden) {
            $string = 'DELETE from RechnungArtikel where RechnungID=' . $_POST['id'] . ' and ArtikelID=' . $artikel['ArtikelID'];
            
            $query = mysql_query($string);
            if (!$query) $erfolgreich = false;
        }
    }

    for ($i=0; $i < count($artikelNEU); $i++) {
        $artikelN = $artikelNEU[$i];
        
        $gefunden = false;
        foreach ($artikelDB as $artikel) {
            if ($artikel['ArtikelID'] == $artikelN['ID']) {
                $gefunden = true;
            }
        }

        if ($gefunden) {
            $string = 'UPDATE RechnungArtikel
                set Preis=' . $_POST['artikelpreis'][$i] . ', Menge=' . $_POST['artikelmenge'][$i]. '
                where RechnungID=' . $_POST['id'] . ' and ArtikelID=' . $_POST['artikelid'][$i];
            
            $query = mysql_query($string);
            if (!$query) $erfolgreich = false;
        } else {
            $string = 'INSERT into RechnungArtikel
                values (' . $_POST['id'] . ', ' . $_POST['artikelid'][$i] . ', "' . $artikelN['Name'] . '", ' . $_POST['artikelpreis'][$i] . ', ' . $_POST['artikelmenge'][$i] . ')';

            $query = mysql_query($string);
            if (!$query) $erfolgreich = false;
        }    
    }
    
    if ($erfolgreich) {
        echo "<div class='info'>Rechnungsvorlage erfolgreich ge&auml;ndert!</div>";
        postVorlageListe ();
        // TODO: Fehlerbehandlung
    } else {
        echo "<div class='error'>Rechnungsvorlage konnte nicht ge&auml;ndert werden!</div>";
    }
}

function postVorlageRechnungBearbeiten ($vorlagerechnung) {
    $query = mysql_query("SELECT * from Rechnung
        left join RechnungVorlage on Rechnung.ID = RechnungVorlage.RechnungID
        WHERE RechnungVorlage.RechnungID=" . $vorlagerechnung);
    $vorlagerechnung = mysql_fetch_array($query);

    $query = mysql_query("SELECT * from RechnungArtikel
        left join Artikel on RechnungArtikel.ArtikelID = Artikel.ID
        where RechnungID=" . $vorlagerechnung['RechnungID']);
    
    for ($i=0; $i < mysql_num_rows ($query); $i++) { 
        $vorlagerechnung['artikel'][$i] = mysql_fetch_array($query);
    }

    postVorlageRechnung($vorlagerechnung);
}

function postVorlageRechnung ($row) {
    echo '
        <form class="formular" action="index.php?section=vorlagen" method="post" id="vorlageform" name="vorlageform" onsubmit="return minArtikel()">
        <ul>
            <li>
                 <h2>Rechnung ';

    if (isset($row['RechnungID'])) {
        echo '&auml;ndern';
    } else {
        echo 'hinzuf&uuml;gen';
    }
                
    echo '</h2>
             <span class="required_notification">* Ben&ouml;tigte Felder</span>
        </li>
        <li>
            <label for="informationen">Informationen:</label>
            <textarea id="informationen" name="informationen" placeholder="Rechnungsinformationen eintragen" maxlength="300" required="required">' . $row['Informationen'] . '</textarea>
        </li>
        <li>
                <label for="comboboxArtikel_input">Artikel</label>';
    include ('inc/comboboxArtikel.php');   
    echo '</li>
            <li>
                <label for="rabatt">Rabatt:</label>
                <input id="rabatt" name="rabatt" pattern="^[0-9]{0,2}$" value="' . $row['Rabatt'] . '" type="text" placeholder="Rabatt" maxlength="2" />
                <span class="form_hint">in Prozent</span>               
            </li>
            <li>
                <input type="hidden" name="id" value="' . $row['RechnungID'] . '"> 
                <button class="submit buttonIEenable" name="speichernVorlageRechnung" type="submit">Speichern</button>
            </li>
        </ul>
    </form>
    ';
}

function postVorlageRechnungDetails ($rechnung) {
    $query = mysql_query("SELECT *, sum(Preis*Menge*((100-Rabatt)/100)) as Gesamtpreis, sum(Preis*Menge) as 'Gesamtpreis ohne Rabatt' from Rechnung
        left join RechnungVorlage on Rechnung.ID = RechnungVorlage.RechnungID
        left join RechnungArtikel on Rechnung.ID=RechnungArtikel.RechnungID
        WHERE RechnungVorlage.RechnungID=" . $rechnung);
    $rechnung = mysql_fetch_array($query);

    echo '
    <table class="detailliste_breit">
        <tr>
            <td colspan="2"><h2>Rechnungsvorlage</h2></td>
        </tr>
        <tr>
            <td class="beschriftung">Beschreibung:</td>
            <td>' . $rechnung['Informationen'] . '</td>
        </tr>';

    if ($rechnung['Rabatt'] != "" && $rechnung['Rabatt'] != 0) {
        echo '<tr>
            <td class="beschriftung">Gesamtpreis ohne Rabatt:</td>
            <td>' . number_format($rechnung['Gesamtpreis ohne Rabatt'], 2, ',', '.') . ' EUR</td>
        </tr>
        <tr>
            <td class="beschriftung">Rabatt:</td>
            <td>' . $rechnung['Rabatt'] . '%</td>
        </tr>
        <tr>
            <td class="beschriftung">Gesamtpreis mit Rabatt:</td>
            <td>' . number_format($rechnung['Gesamtpreis'], 2, ',', '.') . ' EUR</td>
        </tr>';
    } else {
        echo '<tr>
            <td class="beschriftung">Gesamtpreis:</td>
            <td>' . number_format($rechnung['Gesamtpreis ohne Rabatt'], 2, ',', '.') . ' EUR</td>
        </tr>';
    }

    echo '<tr>
            <td class="beschriftung vat">Artikel:</td>
            <td>
                <ul>';

    $query = mysql_query("SELECT * from RechnungArtikel where RechnungID=" . $rechnung['RechnungID']);
    
    for ($i=0; $i < mysql_num_rows ($query); $i++) { 
        $artikel = mysql_fetch_array($query);

        echo '<li>' . $artikel['Menge'] . 'x ' . $artikel['Artikelname'] . ' je ' . number_format($artikel['Preis'], 2, ',', '.') . ' EUR</li>';
    }

    echo '</ul>
            </td>
        </tr>
    </table>';
}

?>